home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / HELPPC.ZIP / MISC.TXT < prev    next >
Text File  |  1991-04-15  |  32KB  |  1,016 lines

  1. @Uncategorized/Miscellaneous Topics
  2. :help:?
  3. ^HelpPC Quick Reference Utility
  4.  
  5. %    Please support HelpPC by sending $25 (US, $30 outside US) to:
  6.  
  7.         David Jurgens
  8.         1550 Alton Darby Creek Road
  9.         Columbus, OH  43228
  10.         CompuServe 71270,2422
  11.  
  12.  
  13. ^Keys used for navigating through HelpPC
  14.  
  15.     Esc    Exit current screen or HelpPC
  16.     End    Moves text or menu to the last line/item
  17.     Home    Moves text or menu to the first line/item
  18.     PgUp    Moves text or menu to page top or previous page
  19.     PgDn    Moves text or menu to page bottom or next page
  20.     F1    Switches from menu to prompting mode and vice versa
  21.     Alt-P    Write current topic to printer
  22.     Alt-W    Write topic to file HelpPC.DAT in the current directory
  23.     Alt-X    Exit HelpPC and without clearing current screen
  24.     TAB    Go to next subtopic link
  25.     BackTab    Go to previous subtopic link
  26.     Enter    Jump to highlighted subtopic link
  27.  
  28. ^Using HelpPC
  29.  
  30.     HelpPC has two modes of operation.  The first is the Prompted
  31.     Mode where you specify the topic on the command line and HelpPC
  32.     prompts    you for topics until you exit.     The second is the Menu
  33.     Mode which as its name implies is menu driven.    To use the Menu
  34.     Mode just omit the topic from the command line.  You may switch
  35.     between Menu mode and Prompted Mode with the F1 key.
  36.  
  37. ^Examples of Command Line Usage
  38.  
  39. %    For information about:        Use the following topics:
  40.  
  41.     Installation:            HelpPC ~install~
  42.     Creating help files:        HelpPC ~HelpPC format~
  43.     Interrupts:            HelpPC int #
  44.     example:            HelpPC ~int 13~
  45.     Interrupt subfunction:        HelpPC int #,func
  46.     example:            HelpPC ~int 21,4E~
  47.     C function usage:        HelpPC function
  48.     examples:            HelpPC ~open~
  49.                     HelpPC ~is...~
  50.                     HelpPC ~str...~
  51.     Other topics:            HelpPC ~interrupt table~
  52.     examples:            HelpPC ~BIOS Data Area~  (or ~BDA~)
  53.                     HelpPC ~ANSI codes~
  54.                     HelpPC ~bibliography~
  55.  
  56.     All topics are case insensitive
  57.  
  58. ^Trademarks of Vendors Mentioned in HelpPC Databases
  59.  
  60.     ∙ Compaq is a registered trademark of Compaq Computer Corporation
  61.     ∙ CompuServe is a registered trademark of CompuServe Incorporated
  62.     ∙ DESQview is a trademark of Quarterdeck Office Systems
  63.     ∙ Epson is a registered trademark of Seiko Epson Corporation
  64.     ∙ HP is a registered trademark of Hewlett-Packard Company
  65.     ∙ IBM, PC/AT, PC-DOS, PC/XT and PS/2 are trademarks of International
  66.       Business Machines Corporation
  67.     ∙ Intel is a registered trademark of Intel Corporation
  68.     ∙ LIM and EMS are trademarks of Lotus, Intel and Microsoft Corporations
  69.     ∙ Maxtor is a trademark of Maxtor Corporation
  70.     ∙ Microsoft is a registered trademark of Microsoft Corporation
  71.     ∙ NEC is a registered trademark of NEC Electronics Incorported
  72.     ∙ Tandy is a registered trademark of Tandy Corporation
  73.     ∙ Turbo C is a registered trademark of Borland International Inc.
  74.     ∙ Other brand and product names are trademarks or registered
  75.       trademarks of their respective holders.
  76.  
  77.     - see    ~INSTALL~   ~HELPPC FORMAT~
  78. :install:setup
  79. ^INSTALL/SETUP - HELPPC Installation
  80.  
  81.     Installation requires two steps.  First, simply decompress the
  82.     HelpPC archive file.  Second, issue the following command:
  83.  
  84.     SET HLP=d:dirname     (no blanks, except between "SET HLP")
  85.  
  86.     Where 'd:' is the drive and 'dirname' is the directory where
  87.     the HelpPC.NDX and the .TXT files will reside (should be fully
  88.     qualified, with or without the trailing backslash '\', see
  89.     example below).  HelpPC.COM can exist anywhere it can be
  90.     accessed through the DOS command search path (PATH).  The
  91.     "SET HLP=" command should be placed in the AUTOEXEC.BAT file
  92.     to allow easy access to the database each time your PC is
  93.     rebooted.  It is recommended that HelpPC.COM be renamed to
  94.     something quick and comfortable to use, like  H.COM or HELP.COM.
  95.  
  96.  
  97.     As an example, if the files HelpPC.NDX and the .TXT files
  98.     reside in a directory named  C:\HELPPC  then use:
  99.  
  100. %    SET HLP=C:\HELPPC    or     SET HLP=C:\HELPPC\
  101.  
  102. :HelpPC format
  103. ^HelpPC Text File Format
  104.  
  105.     HelpPC in its standard form can handle 1800 indexed topics
  106.     and 16 independent help files.    If you find you need a larger
  107.     capacity, please contact me at one of the addresses below.
  108.     Each file must have its own title which will show up in the
  109.     main menu.  Each topic following the file title (see below)
  110.     will show up in the subtopic menu.  Also note that HelpPC
  111.     will adjust the menu format based on the screen height and
  112.     the number of items in the main menu.
  113.  
  114.     HelpPC text files are simple ASCII files that contain control
  115.     codes in column one.  Each file must contain a title in the
  116.     first line.  The remainder of the file consists of keyed lines
  117.     and help text.     Each line must end with a CR/LF pair (standard
  118.     DOS format) and shouldn't be longer than 70 characters.  Tabs
  119.     position the text using 8 character tab positions.  The following
  120.     is a list of keys and special characters:
  121.  
  122.     '@'  in column 1 indicates a file title which will appear in
  123.          the main topic menu.  This must be the very first line
  124.          in the file and has a maximum length of 40 characters
  125.          (excluding the '@').
  126.     ':'  in column 1 indicates a subtopic key.  Multiple keys
  127.          separated by colons ':' can be entered on the same line.
  128.          Single spaces are allowed in a key, multiple spaces are
  129.          compressed to single.
  130.     '%'  in column 1 indicates to highlight the entire line
  131.     '^'  in column 1 indicates to center and highlight the line
  132.     ' '  (space) normal text
  133.     '~~'  Tilde, used to mark text as a subtopic link.  Use two
  134.          tilde characters to represent an actual tilde in the data.
  135.          A word or phrase enclosed between tilde's will become a
  136.          subtopic link for the current topic.
  137.     TAB  start text in column 9
  138.     any other character in column 1 is invalid an will not display
  139.  
  140.  
  141.     Use the BUILD command to index/reindex the default help text
  142.     files.    To add your own files to the index use the command:
  143.  
  144. %        BUILD [fname [file2 ...]]
  145.  
  146.  
  147. %        Limits of the HelpPC program
  148.  
  149.         Max items in main topic menu:           16
  150.         Max items in subtopic menu:          512
  151.         Max topics in index:             1800
  152.         Max size of topic text:         16384 bytes
  153.         Max lines of text per topic:          512
  154.         Max topic key length:               20
  155.         Max file title length:               40
  156.         Max subtopic links:              120    
  157.         No limit on text file size
  158.  
  159.  
  160. %    Example help file:
  161.  
  162.  
  163.     @This title appears in main menu
  164.     :key1:key2:key3
  165.     ^This line will be displayed centered and highlighted
  166.     
  167.     %This line will appear highlighted
  168.     
  169.     These lines are normal text.  All three topic keys will point to
  170.     this same database entry.  The following phrase ~~SUBTOPIC LINK~~
  171.     is a link to another topic.  The tilde characters will cause it
  172.     to be highlighted and selectable.
  173.  
  174. :Bibliography
  175. ^Bibliography of Published Sources Referenced in HelpPC
  176.  
  177. %    The following list contains information on reference materials
  178. %    used to verify and supply the information found in HelpPC. They
  179. %    are listed chronologically in the order I used them in HelpPC.
  180.  
  181.      1. Powell, David.  "IBM PC-DOS Programmer's Quick Reference
  182.         Summary".  (Unpublished paper.)
  183.  
  184.      2. Powell, David.  "IBM BIOS Programmer's Quick Reference
  185.         Summary".  (Unpublished paper.)
  186.      
  187.      3. Norton, Peter.  "Programmer's Guide to the IBM PC".
  188.         Redmond, Washington: Microsoft Press, 1985.
  189.  
  190.      4. Duncan, Ray.  "Advanced MS-DOS".
  191.         Redmond, Washington: Microsoft Press, 1986.
  192.  
  193.      5. IBM Corporation.  "Disk Operating System Version 3.10: Technical
  194.         Reference". Boca Raton, Florida: International Business Machines
  195.         Corporation, 1986.
  196.  
  197.      6. Davies, Russ.  "COMPUTE!'s Mapping the IBM PC and PCjr".
  198.         Greensboro, North Carolina: COMPUTE! Publications, Inc., 1986.
  199.  
  200.      7. Brenner, Robert C.    "IBM PC Troubleshooting & Repair Guide".
  201.          Indianapolis, Indiana: Howard W Sams & Company, 1985.
  202.  
  203.      8. Borland International, Inc.  "Turbo C Reference Guide".  Scotts
  204.         Valley, California: Borland International, Inc., 1987.
  205.  
  206.      9. Scanlon, Leo J.  "8086/88 Assembly Language Programming".
  207.         Bowie, Maryland: Robert J. Brady Co., 1984.
  208.  
  209.     10. IBM Corporation. "Technical Reference: PC/XT".  Boca Raton,
  210.         Florida: International Business Machines Corporation, 1983.
  211.  
  212.     11. Wilton, Richard.  "Programmer's Guide to PC & PS/2 Video
  213.         Systems".  Redmond, Washington: Microsoft Press, 1987.
  214.  
  215.     12. Dettemann, Terry R.  "DOS Programmers Reference".
  216.         Carmel, Indiana: Que Corporation, 1988.
  217.  
  218.     13. Hogan, Thom.  "The Programmer's PC Sourcebook".
  219.         Redmond, Washington: Microsoft Press, 1988.
  220.  
  221.     14. Intel Corporation.    "Microprocessor and Peripheral Handbook".
  222.         2 vols.  Mountain View, California: Intel Corporation, 1989.
  223.  
  224.     15. Wyatt, Allen L. Sr.  "Assembly Language Quick Reference".
  225.         Carmel, Indiana: Que Corporation, 1989.
  226.  
  227.     16. IBM Corporation. "Technical Reference: PS/2 Model 30 Technical
  228.         Reference".  Boca Raton, Florida: International Business
  229.         Machines Corporation, 1987.
  230.  
  231.     17. IBM Corporation. "Technical Reference: PS/2 Model 50 and 60
  232.         Technical Reference".  Boca Raton, Florida: International
  233.         Business Machines Corporation, 1987.
  234.  
  235.     18. Norton, Peter, and Richard Wilton.    "Programmer's Guide to the
  236.         IBM PC & PS/2".  Redmond, Washington: Microsoft Press, 1988.
  237.  
  238.     19. Duncan, Ray, and Susan Lammers, eds. "The MS-DOS Encyclopedia".
  239.         Redmond, Washington: Microsoft Press, 1988.
  240.  
  241.     20. IBM Corporation. "Technical Reference: PCjr".  Boca Raton,
  242.         Florida: International Business Machines Corporation, 1983.
  243.  
  244.     21. IBM Corporation, "Technical Reference: PC/AT".  Boca Raton,
  245.         Florida: International Business Machines Corporation, 1984.
  246.  
  247.     22. Bailey, Sharon.  "Periscope Manual".  Atlanta, Georgia:
  248.         The Periscope Company, 1990.
  249.  
  250.     23. Microsoft Corporation.  "Microsoft Mouse Programmer's
  251.         Reference".  Redmond, Washington: Microsoft Press, 1989.
  252.  
  253.     24. Schemmer, Bernd.  Letter to author.  1 July 1990.
  254.  
  255.     25. Microsoft Corporation.  "Microsoft Macro Assembler 5.0,
  256.         Programmer's Guide".  Redmond, Washington: Microsoft
  257.         Corporation, 1987.
  258.  
  259.     26. Parke, William C.  "Data Structures Used in IBM PC Compatibles
  260.         and the PS/2".  (Unpublished paper).
  261.     
  262.     27. NEC Electronics, Inc.  "Intelligent Peripheral Devices (IPD)
  263.         Data Book".  Mountain View, California: NEC Electronics,
  264.         Inc., 1989.
  265.  
  266.     28. Seiko Epson Corporation. "Epson LX-800 User's Manual".  Nagano,
  267.         Japan: Seiko Epson Corporation, 1987.
  268.  
  269.     29. Hewlett-Packard Company. "Hewlett-Packard LaserJet Family
  270.         Technical Reference Manual".  Boise, Idaho: Hewlett-Packard
  271.         Company, 1986.
  272.  
  273.     30. "System BIOS for IBM PC/XT/AT Computers and Compatibles".
  274.         Phoenix Technical Reference Series.  Reading, Massachusetts:
  275.         Addison-Wesley, 1990.
  276.  
  277.     31. Schulman, Andrew.  "Undocumented DOS".
  278.         Reading, Massachusetts: Addison-Wesley, 1990.
  279. :character codes:character set:ASCII:EBCDIC:extended ASCII
  280. ^ASCII - EBCDIC - Character Codes and Character Sets
  281.  
  282. %                 Extended              Control
  283. %     Dec   Octal    Hex   ASCII    EBCDIC  ASCII   Codes
  284.       0    000    00        NUL    NUL
  285.       1    001    01   blk Face    SOH    SOH    ^A
  286.       2    002    02        STX    STX    ^B
  287.       3    003    03        ETX    ETX    ^C
  288.       4    004    04        PF    EOT    ^D
  289.       5    005    05        HT    ENQ    ^E
  290.       6    006    06        LC    ACK    ^F
  291.       7    007    07        DEL    BEL    ^G
  292.       8    010    08     ...        BS    ^H
  293.       9    011    09     ...        HT    ^I
  294.      10    012    0A     ...    SMM    LF    ^J
  295.      11    013    0B         VT    VT    ^K
  296.      12    014    0C         FF    FF    ^L
  297.      13    015    0D     ...    CR    CR    ^M
  298.      14    016    0E        SO    SO    ^N
  299.      15    017    0F        SI    SI    ^O
  300.      16    020    10        DLE    DLE    ^P
  301.      17    021    11        DC1    DC1    ^Q
  302.      18    022    12        DC2    DC2    ^R
  303.      19    023    13        TM    DC3    ^S
  304.      20    024    14        RES    DC4    ^T
  305.      21    025    15        NL    NAK    ^U
  306.      22    026    16        BS    SYN    ^V
  307.      23    027    17        IL    ETB    ^W
  308.      24    030    18        CAN    CAN    ^X
  309.      25    031    19        EM    EM    ^Y
  310.      26    032    1A     ...    CC    SUB    ^Z
  311.      27    033    1B        CU1    ESC    ^[
  312.      28    034    1C        IFS    FS    ^\
  313.      29    035    1D        IGS    GS    ^]
  314.      30    036    1E        IRS    RS    ^^
  315.      31    037    1F        IUS    US    ^_
  316.      32    040    20         DS    SP
  317.      33    041    21    !    SOS    !
  318.      34    042    22    "    FS    "
  319.      35    043    23    #        #
  320.      36    044    24    $    BYP    $
  321.      37    045    25    %    LF    %
  322.      38    046    26    &    ETB    &
  323.      39    047    27    '    ESC    '
  324.      40    050    28    (        (
  325.      41    051    29    )        )
  326.      42    052    2A    *    SM    *
  327.      43    053    2B    +    CU2    +
  328.      44    054    2C    ,        ,
  329.      45    055    2D    -    ENQ    -
  330.      46    056    2E    .    ACK    .
  331.      47    057    2F    /    BEL    /
  332.      48    060    30    0        0
  333.      49    061    31    1        1
  334.      50    062    32    2    SYN    2
  335.      51    063    33    3        3
  336.      52    064    34    4    PN    4
  337.      53    065    35    5    RS    5
  338.      54    066    36    6    UC    6
  339.      55    067    37    7    EOT    7
  340.      56    070    38    8        8
  341.      57    071    39    9        9
  342.      58    072    3A    :        :
  343.      59    073    3B    ;    CU3    ;
  344.      60    074    3C    <    DC4    <
  345.      61    075    3D    =    NAK    =
  346.      62    076    3E    >        >
  347.      63    077    3F    ?    SUB    ?
  348.      64    100    40    @    SP    @
  349.      65    101    41    A        A
  350.      66    102    42    B        B
  351.      67    103    43    C        C
  352.      68    104    44    D        D
  353.      69    105    45    E        E
  354.      70    106    46    F        F
  355.      71    107    47    G        G
  356.      72    110    48    H        H
  357.      73    111    49    I        I
  358.      74    112    4A    J    ¢    J
  359.      75    113    4B    K    .    K
  360.      76    114    4C    L    <    L
  361.      77    115    4D    M    {    M
  362.      78    116    4E    N    +    N
  363.      79    117    4F    O    |    O
  364.      80    120    50    P    &    P
  365.      81    121    51    Q        Q
  366.      82    122    52    R        R
  367.      83    123    53    S        S
  368.      84    124    54    T        T
  369.      85    125    55    U        U
  370.      86    126    56    V        V
  371.      87    127    57    W        W
  372.      88    130    58    X        X
  373.      89    131    59    Y        Y
  374.      90    132    5A    Z    !    Z
  375.      91    133    5B    [    $    [
  376.      92    134    5C    \    *    \
  377.      93    135    5D    ]    )    ]
  378.      94    136    5E    ^    ;    ^
  379.      95    137    5F    _    ¬    _
  380.      96    140    60    `        `
  381.      97    141    61    a    /    a
  382.      98    142    62    b        b
  383.      99    143    63    c        c
  384.     100    144    64    d        d
  385.     101    145    65    e        e
  386.     102    146    66    f        f
  387.     103    147    67    g        g
  388.     104    150    68    h        h
  389.     105    151    69    i        i
  390.     106    152    6A    j        j
  391.     107    153    6B    k    ,    k
  392.     108    154    6C    l    %    l
  393.     109    155    6D    m    _    m
  394.     110    156    6E    n    >    n
  395.     111    157    6F    o    ?    o
  396.     112    160    70    p        p
  397.     113    161    71    q        q
  398.     114    162    72    r        r
  399.     115    163    73    s        s
  400.     116    164    74    t        t
  401.     117    165    75    u        u
  402.     118    166    76    v        v
  403.     119    167    77    w        w
  404.     120    170    78    x        x
  405.     121    171    79    y        y
  406.     122    172    7A    z    :    z
  407.     123    173    7B    {    #    {
  408.     124    174    7C    |    @    |
  409.     125    175    7D    }    '    }
  410.     126    176    7E    ~~    =    ~~
  411.     127    177    7F        "    
  412.     128    200    80    Ç
  413.     129    201    81    ü    a
  414.     130    202    82    é    b
  415.     131    203    83    â    c
  416.     132    204    84    ä    d
  417.     133    205    85    à    e
  418.     134    206    86    å    f
  419.     135    207    87    ç    g
  420.     136    210    88    ê    h
  421.     137    211    89    ë    i
  422.     138    212    8A    è
  423.     139    213    8B    ï
  424.     140    214    8C    î
  425.     141    215    8D    ì
  426.     142    216    8E    Ä
  427.     143    217    8F    Å
  428.     144    220    90    É
  429.     145    221    91    æ    j
  430.     146    222    92    Æ    k
  431.     147    223    93    ô    l
  432.     148    224    94    ö    m
  433.     149    225    95    ò    n
  434.     150    226    96    û    o
  435.     151    227    97    ù    p
  436.     152    230    98    ÿ    q
  437.     153    231    99    Ö    r
  438.     154    232    9A    Ü
  439.     155    233    9B    ¢
  440.     156    234    9C    £
  441.     157    235    9D    ¥
  442.     158    236    9E    ₧
  443.     159    237    9F    ƒ
  444.     160    240    A0    á
  445.     161    241    A1    í
  446.     162    242    A2    ó    s
  447.     163    243    A3    ú    t
  448.     164    244    A4    ñ    u
  449.     165    245    A5    Ñ    v
  450.     166    246    A6    ª    w
  451.     167    247    A7    º    x
  452.     168    250    A8    ¿    y
  453.     169    251    A9    ⌐    z
  454.     170    252    AA    ¬
  455.     171    253    AB    ½
  456.     172    254    AC    ¼
  457.     173    255    AD    ¡
  458.     174    256    AE    «
  459.     175    257    AF    »
  460.     176    260    B0    ░
  461.     177    261    B1    ▒
  462.     178    262    B2    ▓
  463.     179    263    B3    │
  464.     180    264    B4    ┤
  465.     181    265    B5    ╡
  466.     182    266    B6    ╢
  467.     183    267    B7    ╖
  468.     184    270    B8    ╕
  469.     185    271    B9    ╣
  470.     186    272    BA    ║
  471.     187    273    BB    ╗
  472.     188    274    BC    ╝
  473.     189    275    BD    ╜
  474.     190    276    BE    ╛
  475.     191    277    BF    ┐
  476.     192    300    C0    └
  477.     193    301    C1    ┴    A
  478.     194    302    C2    ┬    B
  479.     195    303    C3    ├    C
  480.     196    304    C4    ─    D
  481.     197    305    C5    ┼    E
  482.     198    306    C6    ╞    F
  483.     199    307    C7    ╟    G
  484.     200    310    C8    ╚    H
  485.     201    311    C9    ╔    I
  486.     202    312    CA    ╩
  487.     203    313    CB    ╦
  488.     204    314    CC    ╠
  489.     205    315    CD    ═
  490.     206    316    CE    ╬
  491.     207    317    CF    ╧
  492.     208    320    D0    ╨
  493.     209    321    D1    ╤    J
  494.     210    322    D2    ╥    K
  495.     211    323    D3    ╙    L
  496.     212    324    D4    ╘    M
  497.     213    325    D5    ╒    N
  498.     214    326    D6    ╓    O
  499.     215    327    D7    ╫    P
  500.     216    330    D8    ╪    Q
  501.     217    331    D9    ┘    R
  502.     218    332    DA    ┌
  503.     219    333    DB    █
  504.     220    334    DC    ▄
  505.     221    335    DD    ▌
  506.     222    336    DE    ▐
  507.     223    337    DF    ▀
  508.     224    340    E0    α
  509.     225    341    E1    ß
  510.     226    342    E2    Γ    S
  511.     227    343    E3    π    T
  512.     228    344    E4    Σ    U
  513.     229    345    E5    σ    V
  514.     230    346    E6    µ    W
  515.     231    347    E7    τ    X
  516.     232    350    E8    Φ    Y
  517.     233    351    E9    Θ    Z
  518.     234    352    EA    Ω
  519.     235    353    EB    δ
  520.     236    354    EC    ∞
  521.     237    355    ED    φ
  522.     238    356    EE    ε
  523.     239    357    EF    ∩
  524.     240    360    F0    ≡    0
  525.     241    361    F1    ±    1
  526.     242    362    F2    ≥    2
  527.     243    363    F3    ≤    3
  528.     244    364    F4    ⌠    4
  529.     245    365    F5    ⌡    5
  530.     246    366    F6    ÷    6
  531.     247    367    F7    ≈    7
  532.     248    370    F8    °    8
  533.     249    371    F9    ∙    9
  534.     250    372    FA    ·
  535.     251    373    FB    √
  536.     252    374    FC    ⁿ
  537.     253    375    FD    ²
  538.     254    376    FE    ■
  539.     255    377    FF
  540.  
  541. :ANSI codes:ANSI control codes
  542. ^ANSI.SYS and NANSI.SYS Functions  -  ANSI x3.64
  543.  
  544.     ESC[y,xH    Cursor position y,x
  545.     ESC[nA        Cursor Up n lines
  546.     ESC[nB        Cursor Down n lines
  547.     ESC[nC        Cursor Forward n characters
  548.     ESC[nD        Cursor Backward n characters
  549.     ESC[y;xf    Cursor position y,x (less frequently used)
  550.     ESC[y;xR    Cursor position report y,x
  551.     ESC[6n        Device status report (cursor pos)(n is constant 'n')
  552.     ESC[s        Save cursor position
  553.     ESC[u        Restore cursor position
  554.     ESC[2J        Erase display
  555.     ESC[K        Erase to end of line
  556.     ESC[nL        Inserts n blank lines at cursor line.    (NANSI)
  557.     ESC[nM        Deletes n lines including cursor line.    (NANSI)
  558.     ESC[n@        Inserts n blank chars at cursor.    (NANSI)
  559.     ESC[nP        Deletes n chars including cursor char.    (NANSI)
  560.     ESC[n;ny    Output char translate            (NANSI)
  561.         When first char is encountered in output request, it
  562.         is replaced with the second char.  When no parameters
  563.         are given, all chars are reset.
  564.     ESC["str"p    Keyboard Key Reassignment. The first char of str gives
  565.         the key to redefine; the rest of the string is the
  566.         key's new value.  To specify unprintable chars, give
  567.         the ASCII value of the char outside of quotes, as a
  568.         normal parm.  IBM function keys are two byte strings.
  569.  
  570.         Ex:  ESC[0;";dir a:";13;p
  571.  
  572.         redefines F1 to have the value "dir a:" followed by CR.
  573.         If no parameters given, all keys are reset to their
  574.         default values.  Single or double quotes are valid.
  575.  
  576.     ESC[n;n;...nm    Set Graphics Rendition is used to set attributes as
  577.         well as foreground and background colors.  If multiple
  578.         parameters are used, they are executed in sequence, and
  579.         the effects are cumulative. 'n' is one of the following
  580.         attributes or colors:
  581.  
  582.         0  All attributes off        5  Blink
  583.         1  Bold                7  Reverse Video
  584.         2  Dim                8  Invisible
  585.         4  Underline
  586.  
  587.  
  588. %        Foreground colors    Background colors
  589.  
  590.             30    Black            40    Black
  591.             31    Red            41    Red
  592.             32    Green            42    Green
  593.             33    Yellow            43    Yellow
  594.             34    Blue            44    Blue
  595.             35    Magenta            45    Magenta
  596.             36    Cyan            46    Cyan
  597.             37    White            47    White
  598.  
  599.  
  600.     ESC[=nh    Set mode (see screen modes for n)
  601.     ESC[=nl    Reset Mode (see screen modes for n)
  602.  
  603.  
  604. ^Screen modes are similar to those found in the IBM BIOS:
  605.  
  606.              0   text 40x25 Black & White
  607.              1   text 40x25 Color
  608.              2   text 80x25 Black & White
  609.              3   text 80x25 Color
  610.              4   320x200 4 bits/pixel
  611.              5   320x200 1 bit/pixel
  612.              6   640x200 1 bit/pixel
  613.              7   cursor wrap
  614.             13   320x200 4 bits/pixel (EGA)
  615.             14   640x200 4 bits/pixel (EGA)
  616.             16   640x350 4 bits/pixel (EGA)
  617.  
  618.  
  619.     - for more information see ANSI document x3.64 or your DOS manual
  620.  
  621. :byte ordering
  622. ^Byte Ordering of Different Computer Architectures
  623.  
  624.  
  625. %            16 Bit        32 Bit        Floating
  626. %    Architecture    Integer        Format         Point
  627.  
  628.      MC68000      MSB         MSB          MSB
  629.      Intel          LSB         LSB          LSB
  630.      PDP-11          LSB          MSW...LSW           MSW...LSW
  631.      VAX          LSB         LSB           MSW...LSW
  632.      IBM 360/370      MSB         MSB          MSB
  633.  
  634.  
  635.      MSB means Most Significant Byte first or a byte order of 3210
  636.      LSB means Least Significant Byte first or a byte order of 0123
  637.      MSW...LSW means a byte order of 3201 or 67452301
  638.  
  639.  
  640.      See ~BIBLIO~ reference "Computer Language Magazine", April, 1987,
  641.      P.J. Plauger for more information
  642.  
  643. :cold boot:POST
  644. ^POST - Cold Boot / Power On Self Test Activities
  645.  
  646.     - power supply starts Clock Generator (8284) with Power
  647.       Good signal on BUS
  648.     - CPU reset line is pulsed resetting CPU
  649.     - DS, ES, and SS are cleared to zero
  650.  
  651. %    Cold and Warm Boot both execute the following sequence
  652.     - CS:IP are set to FFFF:0000 (address of ROM POST code)
  653.     - jump to CS:IP  (execute POST, Power On Self test)
  654.     - interrupts are disabled
  655.     - CPU flags are set, read/write/read test of CPU registers
  656.     - checksum test of ROM BIOS
  657.     - Initialize DMA (verify/init 8237 timer, begin DMA RAM refresh)
  658.     - save reset flag then read/write test the first 32K of memory
  659.     - Initialize the Programmable Interrupt Controller (8259)
  660.       and set 8 major BIOS ~interrupt~ vectors (interrupts 10h-17h)
  661.     - determine and set configuration information
  662.     - initialize/test CRT controller & test video memory (unless 1234h
  663.       found in reset word)
  664.     - test ~8259~ Programmable Interrupt Controller
  665.     - test Programmable Interrupt Timer (~8253~)
  666.     - reset/enable keyboard, verify scan code (AAh), clear keyboard,
  667.       check for stuck keys, setup interrupt vector lookup table
  668.     - hardware interrupt vectors are set
  669.     - test for expansion box, test additional RAM
  670.     - read/write memory above 32K (unless 1234h found in reset word)
  671.     - addresses C800:0 through F400:0 are scanned in 2Kb blocks in
  672.       search of valid ROM.    If found, a far call to byte 3 of the ROM
  673.       is executed.
  674.     - test ROM cassette BASIC (checksum test)
  675.     - test for installed diskette drives & ~FDC~ recalibration & seek
  676.     - test printer and RS-232 ports.  store printer port addresses
  677.       at 400h and RS-232 port addresses at 408h.  store printer
  678.       time-out values at 478h and Serial time-out values at 47Ch.
  679.     - NMI interrupts are enabled
  680.     - perform ~INT 19~ (bootstrap loader), pass control to boot record
  681.       or cassette BASIC if no bootable disk found
  682.     - ~WARM BOOT~ procedure is now executed
  683.  
  684.     - see   ~DIAGNOSTIC CODES~
  685.  
  686. :CPU
  687. ^CPU Characteristics / Determination
  688.  
  689.     8088,80188,V20    six byte prefetch queue, allows use of self
  690.             modifying code to determine length of prefetch
  691.  
  692.     8086,80186,V30    four byte prefetch queue, allows use of self
  693.             modifying code to determine length of prefetch
  694.  
  695.     8088,8086,80188,81086,v20,v30    Flag register bits 12 through
  696.             15 cannot be cleared
  697.  
  698.     8088,8086    will shift left or right using all 8 bits of
  699.             CL, if CL = 33, register is guaranteed to be
  700.             cleared
  701.  
  702.     80188,80186,80286,80386    will shift left or right using only
  703.             lower 5 bits of CL.  If CL = 32, the shift will
  704.             not occur
  705.  
  706.     80286,80386    earlier CPU's decremented SP before a PUSH SP, but
  707.             286+ pushes the value first then, decrements SP
  708.  
  709.     8088,8086    non-zero multiplication result clears zero flag
  710.  
  711.     V20,V30        non-zero multiplication result does not clear
  712.             zero flag, set ZF before multiply, and test after,
  713.             if it's still set, then it's a V20, V30
  714.  
  715.      80286        allows setting of bit 15 of the flags register
  716.  
  717.      80386        allows setting of bits 12 through 14 of flags register
  718.  
  719.  
  720.     see ~BIBLIO~ reference to  PC Tech Journal, "Chips In Transition",
  721.     April 1986
  722.  
  723. :detecting:detection:determine
  724. ^Detecting ANSI.SYS
  725.  
  726.     Compare segment address of a DOS interrupt with the segment of the
  727.     standard CON device.  If equal, then ANSI is not loaded.  If the
  728.     segment address of CON is greater than the DOS interrupt, then ANSI
  729.     is loaded or a TSR is handling the interrupt.
  730.  
  731.     - see ~INT 21,52~ for info on CON device address
  732.  
  733.  
  734. ^Detecting DESQView
  735.  
  736.     1.  call INT 2F with AX = DE00h
  737.     2.  if AL = FF on return DESQView is installed
  738.  
  739.  
  740. ^Detecting Disk Ready
  741.  
  742.     1.  use ~INT 13,4~ (Verify Sector) to check ready for read
  743.     2.  check for error in AH of:
  744.         80h  Time out, or Not Ready
  745.         AAh  Drive not ready
  746.         00h  drive is ready for reading
  747.         other value indicates drive is ready, but an error occurred
  748.     3.  use ~INT 13,2~ (Read Sector) followed by ~INT 13,3~ (Write Sector)
  749.         to check ready for read/write.  First read sector, test for
  750.         ready;  write sector back, check for 03h (write protect) or
  751.         any of the other BIOS disk errors
  752.  
  753.     - multiple attempts should be made to allow for diskette motor startup
  754.     - allows testing of drive ready by bypassing DOS and critical errors
  755.     - see  ~INT 13,STATUS~
  756.  
  757.  
  758. ^Detecting Drive Existence
  759.  
  760.     1.  save current drive    (~INT 21,19~)
  761.     2.  set current drive  (~INT 21,E~)
  762.     3.  get current drive  (~INT 21,19~)
  763.     4.  if current drive == drive requested
  764.            then drive exists
  765.            else drive doesn't exist
  766.     5.  reset original drive  (~INT 21,E~)
  767.  
  768.     - no critical error is generated if invalid drive is selected
  769.  
  770.  
  771. ^Detecting EGA Video
  772.  
  773.     INT 10h, function 12h (~INT 10,12~), subfunction 10h (in BL) will
  774.     return BL = 10h if not an EGA since invalid functions requests
  775.     return without register modification
  776.  
  777.  
  778. ^Detecting VGA Video
  779.  
  780.     ~INT 10,1A~ can be used to detect the presence of VGA.
  781.     BL = 7    VGA with analog monochrome display
  782.        = 8    VGA with analog color display
  783.  
  784.     - some enhanced EGA adapters will incorrectly identify as VGA
  785.       when ~INT 10,1B~ is used
  786.  
  787.  
  788. ^Detecting Extended Keyboard BIOS
  789.  
  790.     1.  use ~INT 16,5~ to stuff FFFF into the keyboard buffer
  791.     2.  use ~INT 16,10~ to read the keystrokes back
  792.     3.  if the data stuffed into the keyboard is returned within 16
  793.         extended reads, the BIOS handles the extended keyboard
  794.     4.  byte at 40:96 (~BDA~) is another method of detecting extended BIOS
  795.         but is not reliable since some compatibles give false positives
  796.  
  797.     - see    ~BIOS DATA AREA~   ~INT 9~
  798.  
  799.  
  800. ^Detecting present of Expanded Memory Manager
  801.  
  802.     1.  attempt to open file/device 'EMMXXXX0' using ~INT 21,3D~;
  803.         if successful continue, else no EMM
  804.     2.  make sure EMMXXXX0 is a character device and not a disk file
  805.         by using IOCTL function 0 (Get Device Info);  bit 7 of DX
  806.         should be set for char device and clear for disk file
  807.     3.  make sure Expanded Memory Manager is available using IOCTL
  808.         function 7 (Get Output Status);  AL should be non-zero (FF)
  809.         if Memory Manager is available, and zero if not available.
  810.     4.  call ~INT 67,46~  to get version information
  811.  
  812.     - see also   ~IOCTL,0~   ~IOCTL,7~
  813.  
  814.  
  815. ^Detecting Existence of Mouse Driver
  816.  
  817.     1.  check ~INT 33~ vector is not 0:0
  818.     2.  check INT 33 vector does not point to an IRET
  819.     3.  call ~INT 33,0~ to reset the mouse and get installed state
  820.     4.  call ~INT 33,24~ to check version, type and IRQ
  821.  
  822.  
  823. ^Detecting Miscellaneous
  824.  
  825.     Boot drive;   see ~INT 21,33~ (DOS 4.0+)
  826.  
  827.     CPU type;   see ~CPU~
  828.  
  829.     Hardware configuration;   see ~INT 11~
  830.  
  831.     Logical Drive Assignment;   see ~IOCTL,E~
  832.  
  833.     Memory size, Base;   see ~INT 12~
  834.  
  835.     Memory size, Extended;     see ~CMOS~
  836.  
  837.     Micro Channel Bus on PS/2;   see ~INT 15,C0~
  838.     
  839.     Network or Local Disk;     see ~IOCTL,9~
  840.  
  841.     Network or Local File;     see ~IOCTL,A~
  842.  
  843.     Parallel ports;   see  ~BIOS DATA AREA~  locations 40:08-40:0F
  844.  
  845.     RAM Disk;   see  ~INT 21,32~   and   ~MEDIA DESCRIPTOR~
  846.  
  847.     Redirection on command line;   see  ~IOCTL,0~
  848.  
  849.     Removable media;   ~INT 21,1B~    ~INT 21,1C~
  850.                ~MEDIA DESCRIPTOR BYTE~  and  ~IOCTL,8~
  851.  
  852.     Serial ports;    see ~BIOS DATA AREA~  locations 40:00-40:07
  853.  
  854.     Single drive A: or B: selection;   see ~BIOS DATA AREA~ byte 50:04
  855.  
  856.     SUBST'ed drive;  see ~INT 21,32~
  857.  
  858.     Video Screen Size in Columns;  see  ~INT 10,F~
  859.  
  860.     Video Screen Size in Rows;  see  ~INT 10,11~  subfunction 30h (EGA+)
  861.  
  862.     APPEND resident;   see ~INT 2F,0~
  863.     ASSIGN resident;   see ~INT 2F,0~
  864.     DOSSHELL resident;   see ~INT 2F,0~
  865.     NLSFUNC resident;   see ~INT 2F,0~
  866.     PRINT resident;   see ~INT 2F,0~
  867.     SHARE resident;   see ~INT 2F,0~
  868.  
  869. :dBASE files:DBF files
  870. ^dBASE - File Header Structure (dBASE II)
  871.  
  872. %    Offset Size          Description
  873.  
  874.       00   byte    dBASE version number 02h=dBASE II
  875.       01   word    number of data records in file
  876.       03   byte    month of last update
  877.       04   byte    day of last update
  878.       05   byte    year of last update
  879.       06   word    size of each data record
  880.       08 512bytes  field descriptors  (see below)
  881.      520   byte    0Dh if all 32 field descriptors used; otherwise 00h
  882.  
  883.     - dBASE II file header has a fixed size of 521 bytes
  884.  
  885.  
  886. ^DBASE - File header structure (DBASE III)
  887.  
  888. %    Offset Size           Description
  889.  
  890.       00   byte     dBASE vers num 03h=dBASE III w/o .DBT
  891.              83h=dBASE III w .DBT
  892.       01   byte     year of last update
  893.       02   byte     month of last update
  894.       03   byte     day of last update
  895.       04   dword     long int number of data records in file
  896.       08   word     header structure length
  897.       10   word     data record length
  898.       12 20bytes     version 1.0 reserved data space
  899.     32-n 32bytes ea. field descriptors  (see below)
  900.      n+1   byte     0dH field terminator.
  901.  
  902.  
  903.     - unlike dBASE II, dBASE III has a variable length header
  904.  
  905.  
  906. ^dBASE - Field Descriptors
  907.  
  908. %dBASE II Field Descriptors (header contains 32 FDs)
  909.  
  910. %    Offset Size          Description
  911.  
  912.       00  11bytes     null terminated field name string, 0Dh as first
  913.              byte indicates end of FDs
  914.       11   byte     data type, Char/Num/Logical (C,N,L)
  915.       12   byte     field length
  916.       13   word     field data address, (set in memory)
  917.       15   byte     number of decimal places
  918.  
  919.  
  920. %dBASE III Field Descriptors (FD count varies):
  921.  
  922. %    Offset Size           Description
  923.  
  924.       00  11bytes    null terminated field name string
  925.       11   byte    data type, Char/Num/Logical/Date/Memo
  926.       12   dword    long int field data address, (set in memory)
  927.       16   byte    field length
  928.       17   byte    number of decimal places
  929.       18  14bytes    version 1.00 reserved data area
  930.  
  931. :numeric ranges:data ranges:ranges
  932. ^Numeric Ranges for Data Elements
  933.  
  934.  
  935. %         Size            Range          Significant digits
  936.  
  937.      1 byte integer          -128 to 127
  938.      1 byte unsigned         0 to 255
  939.      2 byte integer        -32,768 to 32,767
  940.      2 byte unsigned         0 to 65535
  941.      4 byte integer -2,147,483,648 to 2,147,483,647
  942.      4 byte unsigned         0 to 4,294,967,295
  943.      8 byte integer       -9x10e18 to 9x10e18
  944.      4 byte real        3.4x10e-38 to 3.37x10e38          7
  945.      8 byte real       1.7x10e-308 to 1.67x10e308         15
  946.     10 byte real      3.4x10e-4932 to 1.1x10e4932         19
  947.     10 byte packed dec     -99..99 to 99..99
  948. :undocumented
  949. ^DOS Undocumented Interrupts, Functions and Structures
  950.  
  951.     ~INT 15,20~   PRINT.COM Critical Region Flag (DOS 3.x+)
  952.     ~INT 21,1F~   Get pointer to current drive parameter table
  953.     ~INT 21,32~   Get pointer to drive parameter table
  954.     ~INT 21,34~   Get address to DOS critical flag (INDOS flag)
  955.     ~INT 21,37~   Get/set switch char
  956.     ~INT 21,4B~   EXEC/Load and execute (Function 1 undocumented)
  957.     ~INT 21,50~   Set current process id (DOS 2.x)
  958.     ~INT 21,51~   Get current process id (DOS 2.x)
  959.     ~INT 21,52~   Get pointer to DOS "~INVARS~"
  960.     ~INT 21,53~   Generate drive parameter table
  961.     ~INT 21,55~   Create new ~PSP~
  962.     ~INT 21,58~   Get/set memory allocation strategy (DOS 3.x+)
  963.     ~INT 21,5D~   Critical error information (DOS 3.x+)
  964.     ~INT 21,60~   Get fully qualified file name (DOS 3.x+)
  965.     ~INT 21,64~   Set device driver look ahead  (DOS 3.3+)
  966.     ~INT 21,69~   Get/set disk serial number (DOS 4.0+)
  967.     ~INT 21,F8~   Set INT 21 OEM handler
  968.     ~INT 28~      DOS idle loop/scheduler
  969.     ~INT 29~      Fast character output
  970.     ~INT 2E~      Execute command using base level COMMAND.COM
  971.  
  972.     ~BCB~        Batch Control Block
  973.     ~DTA~        Disk Transfer Area    (partially undocumented)
  974.     ~MCB~        Memory Control Block
  975.     ~PSP~        Program Segment Prefix Layout (partially undocumented)
  976.     ~SFT~        System File Table
  977.  
  978.  
  979.     - the above items are undocumented with respect to IBM/Microsoft
  980.       and should be not be used unless one fully understands the
  981.       repercussions
  982.     - several functions are version dependant and OEM specific
  983.  
  984. :warm boot:bootstrap:reboot
  985. ^Warm Boot / System Bootstrap
  986.  
  987.     - Ctrl-Alt-Delete results in a warm boot but only after part of the
  988.       ~POST~ sequence has executed.  See  ~COLD BOOT~  for more information.
  989.     - ROM BIOS bootstrap loader (~INT 19~) attempts Boot Record load
  990.     - Drive A: is searched for a Boot Record, if no Boot Record is found
  991.       the active partition of the first drive is searched.    If found, it
  992.       is loaded into memory at 7C00:0 and given control.  If still not
  993.       found Cassette BASIC is loaded (IBM only) or a prompt for a system
  994.       diskette is displayed.
  995.     - the boot record code checks that IBMBIO.COM and IBMDOS.COM (IO.SYS
  996.       and DOS.SYS for MSDOS) exist and are the first two files.  These
  997.       files must be contiguous and the first two directory entries.
  998.     - boot record loads IBMBIO.COM
  999.     - IBMBIO.COM initialization code loads IBMDOS.COM
  1000.       ∙ determines equipment status
  1001.       ∙ resets disk system
  1002.       ∙ initializes attached devices
  1003.       ∙ loads installable device drivers
  1004.       ∙ sets DOS relative interrupt vectors
  1005.       ∙ relocates IBMDOS.COM downward and begins its execution
  1006.     - IBMDOS.COM initializes its working tables
  1007.       ∙ initializes DOS interrupt vectors for interrupts 20h through 27h
  1008.       ∙ builds ~PSP~ for COMMAND.COM at lowest possible segment
  1009.       ∙ interrupt vectors for INTs 0Fh through 3Fh are initialized
  1010.         (for DOS 3.1+)
  1011.       ∙ loads COMMAND.COM (or specified command interpreter) using the
  1012.         ~EXEC~ call.
  1013.     - AUTOEXEC.BAT is then loaded and executed
  1014.  
  1015.     - see    ~BOOT RECORD~   ~COLD BOOT~
  1016.